package com.ims.service;


import com.b2c.common.third.thymeleaf.PagingResponse;
import com.b2c.common.utils.ResultVo;
import com.ims.entity.ManageUserEntity;
import com.ims.entity.vo.UserMenuVo;

import java.util.ArrayList;
import java.util.List;

/**
 * 描述：
 * 管理员用户Service
 *
 * @author qlp
 * @date 2018-12-26 5:19 PMPM
 */
public interface ManageUserService {
    /**
     * 管理员登录
     *
     * @param userName
     * @param userPwd
     * @return
     */
    ResultVo<ManageUserEntity> userLogin(String userName, String userPwd);
    /**
     * 根据货id查詢用戶姓名
     *
     * @return
     */
    String getNameById(Integer id);
    /*
     * 修改管理员登录密码
     *
     * @param userId
     * @param oldPwd
     * @param newPwd
     * @return
     */
    ResultVo<ManageUserEntity> updManageUserPwd(int userId, String oldPwd, String newPwd);

    PagingResponse<ManageUserEntity> getUserList(Integer pageIndex, Integer pageSize, String name, String mobile);
    Integer delUser(Integer id);
    ResultVo<Integer> updAddUser(Integer userId, String name, String mobile, String user, String pwd, String state,String groupName);
    /**
     * 查询用户已授权菜单访问地址,已授权返回true
     * @param userId
     * @return
     */
     boolean checkUserAuth(Integer userId,String requestUrl);
    /**
     * 初始化用户权限菜单
     * @param userId
     */
     void initUserPermissionMenu(Integer userId);
    /**
     * 查询用户权限菜单列表
     * @param userId
     * @return
     */
     List<UserMenuVo> getUserPerMissionMenu(Integer userId);
    /**
     * 设置用户菜单权限
     * @param userId
     * @param menuIds
     */
     void setUserMenu(Integer userId,String[] menuIds);
}
